﻿using System;
using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;

namespace Models.Models;

public partial class ShopxoContext : DbContext
{
    public ShopxoContext(DbContextOptions<ShopxoContext> options)
        : base(options)
    {
    }

    public virtual DbSet<SAdmin> SAdmin { get; set; }

    public virtual DbSet<SAnswer> SAnswer { get; set; }

    public virtual DbSet<SAppHomeNav> SAppHomeNav { get; set; }

    public virtual DbSet<SAppVersion> SAppVersion { get; set; }

    public virtual DbSet<SArticle> SArticle { get; set; }

    public virtual DbSet<SArticleCategory> SArticleCategory { get; set; }

    public virtual DbSet<SBrand> SBrand { get; set; }

    public virtual DbSet<SBrandCategory> SBrandCategory { get; set; }

    public virtual DbSet<SCart> SCart { get; set; }

    public virtual DbSet<SConfig> SConfig { get; set; }

    public virtual DbSet<SCustomView> SCustomView { get; set; }

    public virtual DbSet<SExpress> SExpress { get; set; }

    public virtual DbSet<SGoods> SGoods { get; set; }

    public virtual DbSet<SGoodsBrowse> SGoodsBrowse { get; set; }

    public virtual DbSet<SGoodsCategory> SGoodsCategory { get; set; }

    public virtual DbSet<SGoodsCategoryJoin> SGoodsCategoryJoin { get; set; }

    public virtual DbSet<SGoodsContentApp> SGoodsContentApp { get; set; }

    public virtual DbSet<SGoodsFavor> SGoodsFavor { get; set; }

    public virtual DbSet<SGoodsPhoto> SGoodsPhoto { get; set; }

    public virtual DbSet<SGoodsSpecBase> SGoodsSpecBase { get; set; }

    public virtual DbSet<SGoodsSpecType> SGoodsSpecType { get; set; }

    public virtual DbSet<SGoodsSpecValue> SGoodsSpecValue { get; set; }

    public virtual DbSet<SLink> SLink { get; set; }

    public virtual DbSet<SMessage> SMessage { get; set; }

    public virtual DbSet<SNavigation> SNavigation { get; set; }

    public virtual DbSet<SNewer> SNewer { get; set; }

    public virtual DbSet<SOrder> SOrder { get; set; }

    public virtual DbSet<SOrderComments> SOrderComments { get; set; }

    public virtual DbSet<SOrderDetail> SOrderDetail { get; set; }

    public virtual DbSet<SOrderGoodsInventoryLog> SOrderGoodsInventoryLog { get; set; }

    public virtual DbSet<SOrderStatusHistory> SOrderStatusHistory { get; set; }

    public virtual DbSet<SPayLog> SPayLog { get; set; }

    public virtual DbSet<SPayment> SPayment { get; set; }

    public virtual DbSet<SPlugins> SPlugins { get; set; }

    public virtual DbSet<SPluginsAnswersGoods> SPluginsAnswersGoods { get; set; }

    public virtual DbSet<SPluginsAnswersSlide> SPluginsAnswersSlide { get; set; }

    public virtual DbSet<SPower> SPower { get; set; }

    public virtual DbSet<SRegion> SRegion { get; set; }

    public virtual DbSet<SRole> SRole { get; set; }

    public virtual DbSet<SRolePower> SRolePower { get; set; }

    public virtual DbSet<SScreeningPrice> SScreeningPrice { get; set; }

    public virtual DbSet<SSearchHistory> SSearchHistory { get; set; }

    public virtual DbSet<SSlide> SSlide { get; set; }

    public virtual DbSet<SSpike> SSpike { get; set; }

    public virtual DbSet<SSpikeGoods> SSpikeGoods { get; set; }

    public virtual DbSet<SUser> SUser { get; set; }

    public virtual DbSet<SUserAddress> SUserAddress { get; set; }

    public virtual DbSet<SUserCoupon> SUserCoupon { get; set; }

    public virtual DbSet<SUserIntegralLog> SUserIntegralLog { get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder
            .UseCollation("utf8mb4_general_ci")
            .HasCharSet("utf8mb4");

        modelBuilder.Entity<SAdmin>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_admin", tb => tb.HasComment("管理员"));

            entity.Property(e => e.Id)
                .HasComment("管理员id")
                .HasColumnType("int(10) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.Gender)
                .HasComment("性别（0保密，1女，2男）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("gender");
            entity.Property(e => e.LoginPwd)
                .HasMaxLength(32)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("登录密码")
                .HasColumnName("login_pwd");
            entity.Property(e => e.LoginSalt)
                .HasMaxLength(6)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("登录密码配合加密字符串")
                .HasColumnName("login_salt");
            entity.Property(e => e.LoginTime)
                .HasComment("最后登录时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("login_time");
            entity.Property(e => e.LoginTotal)
                .HasComment("登录次数")
                .HasColumnType("int(10) unsigned")
                .HasColumnName("login_total");
            entity.Property(e => e.Mobile)
                .HasMaxLength(11)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("手机号码")
                .HasColumnName("mobile");
            entity.Property(e => e.RoleId)
                .HasComment("所属角色组")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("role_id");
            entity.Property(e => e.UpdTime)
                .HasComment("更新时间")
                .HasColumnType("int(11)")
                .HasColumnName("upd_time");
            entity.Property(e => e.Username)
                .HasMaxLength(30)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("用户名")
                .HasColumnName("username");
        });

        modelBuilder.Entity<SAnswer>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_answer", tb => tb.HasComment("用户留言/问答"));

            entity.HasIndex(e => e.IsDeleteTime, "is_delete_time");

            entity.HasIndex(e => e.IsShow, "is_show");

            entity.HasIndex(e => e.Name, "user_id");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AccessCount)
                .HasComment("访问次数")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("access_count");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.Content)
                .HasComment("详细内容")
                .HasColumnType("text")
                .HasColumnName("content");
            entity.Property(e => e.IsDeleteTime)
                .HasComment("是否已删除（0否, 大于0删除时间）")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("is_delete_time");
            entity.Property(e => e.IsReply)
                .HasComment("是否已回复（0否, 1是）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_reply");
            entity.Property(e => e.IsShow)
                .HasComment("是否显示（0不显示, 1显示）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_show");
            entity.Property(e => e.Name)
                .HasMaxLength(30)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("联系人")
                .HasColumnName("name");
            entity.Property(e => e.Reply)
                .HasComment("回复内容")
                .HasColumnType("text")
                .HasColumnName("reply");
            entity.Property(e => e.ReplyTime)
                .HasComment("回复时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("reply_time");
            entity.Property(e => e.Tel)
                .HasMaxLength(20)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("联系电话")
                .HasColumnName("tel");
            entity.Property(e => e.Title)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("标题")
                .HasColumnName("title");
            entity.Property(e => e.UpdTime)
                .HasComment("更新时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("upd_time");
            entity.Property(e => e.UserId)
                .HasComment("用户id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("user_id");
        });

        modelBuilder.Entity<SAppHomeNav>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_app_home_nav", tb => tb.HasComment("手机 - 首页导航"));

            entity.HasIndex(e => e.IsEnable, "is_enable");

            entity.HasIndex(e => e.Platform, "platform");

            entity.HasIndex(e => e.Sort, "sort");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.BgColor)
                .HasMaxLength(30)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("css背景色值")
                .HasColumnName("bg_color");
            entity.Property(e => e.EventType)
                .HasDefaultValueSql("'-1'")
                .HasComment("事件类型（0 WEB页面, 1 内部页面(小程序或APP内部地址), 2 外部小程序(同一个主体下的小程序appid), 3 打开地图, 4 拨打电话）")
                .HasColumnType("tinyint(2)")
                .HasColumnName("event_type");
            entity.Property(e => e.EventValue)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("事件值")
                .HasColumnName("event_value");
            entity.Property(e => e.ImagesUrl)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("图片地址")
                .HasColumnName("images_url");
            entity.Property(e => e.IsEnable)
                .HasDefaultValueSql("'1'")
                .HasComment("是否启用（0否，1是）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_enable");
            entity.Property(e => e.Name)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("别名")
                .HasColumnName("name");
            entity.Property(e => e.Platform)
                .HasMaxLength(30)
                .HasDefaultValueSql("'pc'")
                .IsFixedLength()
                .HasComment("所属平台（pc PC网站, h5 H5手机网站, app 手机APP, alipay 支付宝小程序, weixin 微信小程序, baidu 百度小程序）")
                .HasColumnName("platform");
            entity.Property(e => e.Sort)
                .HasComment("排序")
                .HasColumnType("tinyint(3) unsigned")
                .HasColumnName("sort");
            entity.Property(e => e.UpdTime)
                .HasComment("更新时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("upd_time");
        });

        modelBuilder.Entity<SAppVersion>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_app_version");

            entity.Property(e => e.Id)
                .HasColumnType("int(10)")
                .HasColumnName("id");
            entity.Property(e => e.DownloadPath)
                .HasMaxLength(255)
                .HasComment("下载地址")
                .HasColumnName("download_path");
            entity.Property(e => e.Notes)
                .HasComment("说明")
                .HasColumnType("text")
                .HasColumnName("notes");
            entity.Property(e => e.Platform)
                .HasMaxLength(16)
                .HasComment("平台")
                .HasColumnName("platform");
            entity.Property(e => e.Status)
                .HasComment("状态 0-下架 1-上架")
                .HasColumnType("tinyint(2)")
                .HasColumnName("status");
            entity.Property(e => e.VersionCode)
                .HasDefaultValueSql("'1'")
                .HasComment("版本号")
                .HasColumnType("int(10)")
                .HasColumnName("version_code");
            entity.Property(e => e.VersionName)
                .HasMaxLength(8)
                .HasComment("版本名称")
                .HasColumnName("version_name");
        });

        modelBuilder.Entity<SArticle>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_article", tb => tb.HasComment("文章"));

            entity.HasIndex(e => e.AccessCount, "access_count");

            entity.HasIndex(e => e.ArticleCategoryId, "article_category_id");

            entity.HasIndex(e => e.ImageCount, "image_count");

            entity.HasIndex(e => e.IsEnable, "is_enable");

            entity.HasIndex(e => e.Title, "title");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AccessCount)
                .HasComment("访问次数")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("access_count");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.ArticleCategoryId)
                .HasComment("文章分类")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("article_category_id");
            entity.Property(e => e.Content)
                .HasComment("内容")
                .HasColumnType("text")
                .HasColumnName("content");
            entity.Property(e => e.Image)
                .HasComment("图片数据（一维数组json）")
                .HasColumnType("text")
                .HasColumnName("image");
            entity.Property(e => e.ImageCount)
                .HasComment("文章图片数量")
                .HasColumnType("tinyint(3) unsigned")
                .HasColumnName("image_count");
            entity.Property(e => e.IsEnable)
                .HasDefaultValueSql("'1'")
                .HasComment("是否启用（0否，1是）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_enable");
            entity.Property(e => e.IsHomeRecommended)
                .HasComment("是否首页推荐（0否, 1是）")
                .HasColumnType("tinyint(2) unsigned")
                .HasColumnName("is_home_recommended");
            entity.Property(e => e.JumpUrl)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("跳转url地址")
                .HasColumnName("jump_url");
            entity.Property(e => e.Title)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("标题")
                .HasColumnName("title");
            entity.Property(e => e.TitleColor)
                .HasMaxLength(7)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("标题颜色")
                .HasColumnName("title_color");
            entity.Property(e => e.UpdTime)
                .HasComment("更新时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("upd_time");
        });

        modelBuilder.Entity<SArticleCategory>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_article_category", tb => tb.HasComment("文章分类"));

            entity.HasIndex(e => e.IsEnable, "is_enable");

            entity.HasIndex(e => e.Pid, "pid");

            entity.Property(e => e.Id)
                .HasComment("分类id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.IsEnable)
                .HasDefaultValueSql("'1'")
                .HasComment("是否启用（0否，1是）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_enable");
            entity.Property(e => e.Name)
                .HasMaxLength(30)
                .IsFixedLength()
                .HasComment("名称")
                .HasColumnName("name")
                .UseCollation("utf8_general_ci")
                .HasCharSet("utf8");
            entity.Property(e => e.Pid)
                .HasComment("父id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("pid");
            entity.Property(e => e.Sort)
                .HasComment("顺序")
                .HasColumnType("tinyint(3) unsigned")
                .HasColumnName("sort");
            entity.Property(e => e.UpdTime)
                .HasComment("更新时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("upd_time");
        });

        modelBuilder.Entity<SBrand>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_brand", tb => tb.HasComment("品牌"));

            entity.HasIndex(e => e.IsEnable, "is_enable");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.BrandCategoryId)
                .HasDefaultValueSql("'0'")
                .HasComment("品牌分类id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("brand_category_id");
            entity.Property(e => e.IsEnable)
                .HasDefaultValueSql("'1'")
                .HasComment("是否启用（0否，1是）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_enable");
            entity.Property(e => e.Logo)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("logo图标")
                .HasColumnName("logo");
            entity.Property(e => e.Name)
                .HasMaxLength(30)
                .IsFixedLength()
                .HasComment("名称")
                .HasColumnName("name");
            entity.Property(e => e.Sort)
                .HasComment("顺序")
                .HasColumnType("tinyint(3) unsigned")
                .HasColumnName("sort");
            entity.Property(e => e.UpdTime)
                .HasComment("更新时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("upd_time");
            entity.Property(e => e.WebsiteUrl)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("官网地址")
                .HasColumnName("website_url");
        });

        modelBuilder.Entity<SBrandCategory>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_brand_category", tb => tb.HasComment("品牌分类"));

            entity.HasIndex(e => e.IsEnable, "is_enable");

            entity.HasIndex(e => e.Pid, "pid");

            entity.Property(e => e.Id)
                .HasComment("分类id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.IsEnable)
                .HasDefaultValueSql("'1'")
                .HasComment("是否启用（0否，1是）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_enable");
            entity.Property(e => e.Name)
                .HasMaxLength(30)
                .IsFixedLength()
                .HasComment("名称")
                .HasColumnName("name")
                .UseCollation("utf8_general_ci")
                .HasCharSet("utf8");
            entity.Property(e => e.Pid)
                .HasComment("父id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("pid");
            entity.Property(e => e.Sort)
                .HasComment("顺序")
                .HasColumnType("tinyint(3) unsigned")
                .HasColumnName("sort");
            entity.Property(e => e.UpdTime)
                .HasComment("更新时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("upd_time");
        });

        modelBuilder.Entity<SCart>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_cart", tb => tb.HasComment("购物车"));

            entity.HasIndex(e => e.GoodsId, "goods_id");

            entity.HasIndex(e => e.Stock, "stock");

            entity.HasIndex(e => e.Title, "title");

            entity.HasIndex(e => e.UserId, "user_id");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.GoodsId)
                .HasDefaultValueSql("'0'")
                .HasComment("商品id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("goods_id");
            entity.Property(e => e.Images)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("封面图片")
                .HasColumnName("images");
            entity.Property(e => e.OriginalPrice)
                .HasComment("原价")
                .HasColumnType("decimal(10,2) unsigned")
                .HasColumnName("original_price");
            entity.Property(e => e.Price)
                .HasComment("销售价格")
                .HasColumnType("decimal(10,2) unsigned")
                .HasColumnName("price");
            entity.Property(e => e.Spec)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("规格")
                .HasColumnName("spec")
                .UseCollation("utf8_general_ci")
                .HasCharSet("utf8");
            entity.Property(e => e.Stock)
                .HasComment("购买数量")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("stock");
            entity.Property(e => e.Title)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("标题")
                .HasColumnName("title")
                .UseCollation("utf8_general_ci")
                .HasCharSet("utf8");
            entity.Property(e => e.UpdTime)
                .HasComment("更新时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("upd_time");
            entity.Property(e => e.UserId)
                .HasDefaultValueSql("'0'")
                .HasComment("用户id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("user_id");
        });

        modelBuilder.Entity<SConfig>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_config", tb => tb.HasComment("基本配置参数"));

            entity.HasIndex(e => e.OnlyTag, "only_tag").IsUnique();

            entity.Property(e => e.Id)
                .HasComment("基本设置id")
                .HasColumnType("int(10) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.Describe)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("描述")
                .HasColumnName("describe");
            entity.Property(e => e.ErrorTips)
                .HasMaxLength(150)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("错误提示")
                .HasColumnName("error_tips");
            entity.Property(e => e.Name)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("名称")
                .HasColumnName("name");
            entity.Property(e => e.OnlyTag)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("唯一的标记")
                .HasColumnName("only_tag");
            entity.Property(e => e.Type)
                .HasMaxLength(30)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("类型（admin后台, home前台）")
                .HasColumnName("type");
            entity.Property(e => e.UpdTime)
                .HasComment("更新时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("upd_time");
            entity.Property(e => e.Value)
                .HasComment("值")
                .HasColumnType("text")
                .HasColumnName("value");
        });

        modelBuilder.Entity<SCustomView>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_custom_view", tb => tb.HasComment("自定义页面"));

            entity.HasIndex(e => e.AccessCount, "access_count");

            entity.HasIndex(e => e.ImageCount, "image_count");

            entity.HasIndex(e => e.IsEnable, "is_enable");

            entity.HasIndex(e => e.Title, "title");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AccessCount)
                .HasComment("访问次数")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("access_count");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.Content)
                .HasComment("内容")
                .HasColumnType("text")
                .HasColumnName("content")
                .UseCollation("utf8_general_ci")
                .HasCharSet("utf8");
            entity.Property(e => e.Image)
                .HasComment("图片数据（一维数组json）")
                .HasColumnType("text")
                .HasColumnName("image")
                .UseCollation("utf8_general_ci")
                .HasCharSet("utf8");
            entity.Property(e => e.ImageCount)
                .HasComment("文章图片数量")
                .HasColumnType("tinyint(3) unsigned")
                .HasColumnName("image_count");
            entity.Property(e => e.IsEnable)
                .HasDefaultValueSql("'1'")
                .HasComment("是否启用（0否，1是）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_enable");
            entity.Property(e => e.IsFooter)
                .HasDefaultValueSql("'1'")
                .HasComment("是否包含尾部（0否, 1是）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_footer");
            entity.Property(e => e.IsFullScreen)
                .HasComment("是否满屏（0否, 1是）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_full_screen");
            entity.Property(e => e.IsHeader)
                .HasDefaultValueSql("'1'")
                .HasComment("是否包含头部（0否, 1是）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_header");
            entity.Property(e => e.Title)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("标题")
                .HasColumnName("title")
                .UseCollation("utf8_general_ci")
                .HasCharSet("utf8");
            entity.Property(e => e.UpdTime)
                .HasComment("更新时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("upd_time");
        });

        modelBuilder.Entity<SExpress>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_express", tb => tb.HasComment("快递公司"));

            entity.HasIndex(e => e.IsEnable, "is_enable");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.Icon)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("icon图标")
                .HasColumnName("icon");
            entity.Property(e => e.IsEnable)
                .HasDefaultValueSql("'1'")
                .HasComment("是否启用（0否，1是）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_enable");
            entity.Property(e => e.Name)
                .HasMaxLength(30)
                .IsFixedLength()
                .HasComment("名称")
                .HasColumnName("name");
            entity.Property(e => e.Pid)
                .HasComment("父id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("pid");
            entity.Property(e => e.Sort)
                .HasComment("顺序")
                .HasColumnType("tinyint(3) unsigned")
                .HasColumnName("sort");
            entity.Property(e => e.UpdTime)
                .HasComment("更新时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("upd_time");
        });

        modelBuilder.Entity<SGoods>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_goods", tb => tb.HasComment("商品"));

            entity.HasIndex(e => e.AccessCount, "access_count");

            entity.HasIndex(e => e.IsShelves, "is_shelves");

            entity.HasIndex(e => e.PhotoCount, "photo_count");

            entity.HasIndex(e => e.Title, "title");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AccessCount)
                .HasComment("访问次数")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("access_count");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.BrandId)
                .HasDefaultValueSql("'0'")
                .HasComment("品牌id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("brand_id");
            entity.Property(e => e.BuyMaxNumber)
                .HasComment("最大购买数量（最大数值 100000000, 小于等于0或空则不限）")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("buy_max_number");
            entity.Property(e => e.BuyMinNumber)
                .HasDefaultValueSql("'1'")
                .HasComment("最低起购数量 （默认1）")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("buy_min_number");
            entity.Property(e => e.ContentWeb)
                .HasComment("电脑端详情内容")
                .HasColumnType("mediumtext")
                .HasColumnName("content_web")
                .UseCollation("utf8_general_ci")
                .HasCharSet("utf8");
            entity.Property(e => e.GiveIntegral)
                .HasComment("购买赠送积分")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("give_integral");
            entity.Property(e => e.HomeRecommendedImages)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("首页推荐图片")
                .HasColumnName("home_recommended_images");
            entity.Property(e => e.Images)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("封面图片")
                .HasColumnName("images");
            entity.Property(e => e.Inventory)
                .HasComment("库存（所有规格库存总和）")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("inventory");
            entity.Property(e => e.InventoryUnit)
                .HasMaxLength(15)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("库存单位")
                .HasColumnName("inventory_unit")
                .UseCollation("utf8_general_ci")
                .HasCharSet("utf8");
            entity.Property(e => e.IsActivity)
                .HasComment("是否参与活动 （0否,1是）")
                .HasColumnType("tinyint(2)")
                .HasColumnName("is_activity");
            entity.Property(e => e.IsDeductionInventory)
                .HasDefaultValueSql("'1'")
                .HasComment("是否扣减库存（0否, 1是）")
                .HasColumnType("tinyint(2) unsigned")
                .HasColumnName("is_deduction_inventory");
            entity.Property(e => e.IsDeleteTime)
                .HasComment("是否已删除（0 未删除, 大于0则是删除时间）")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("is_delete_time");
            entity.Property(e => e.IsHomeRecommended)
                .HasComment("是否首页推荐（0否, 1是）")
                .HasColumnType("tinyint(2) unsigned")
                .HasColumnName("is_home_recommended");
            entity.Property(e => e.IsShelves)
                .HasDefaultValueSql("'1'")
                .HasComment("是否上架（下架后用户不可见, 0否, 1是）")
                .HasColumnType("tinyint(2) unsigned")
                .HasColumnName("is_shelves");
            entity.Property(e => e.IsSpike)
                .HasComment("是否是秒杀商品（0否 1是）")
                .HasColumnType("tinyint(2)")
                .HasColumnName("is_spike");
            entity.Property(e => e.MaxOriginalPrice)
                .HasComment("最大原价")
                .HasColumnType("decimal(10,2) unsigned")
                .HasColumnName("max_original_price");
            entity.Property(e => e.MaxPrice)
                .HasComment("最高价格")
                .HasColumnType("decimal(10,2) unsigned")
                .HasColumnName("max_price");
            entity.Property(e => e.MinOriginalPrice)
                .HasComment("最低原价")
                .HasColumnType("decimal(10,2) unsigned")
                .HasColumnName("min_original_price");
            entity.Property(e => e.MinPrice)
                .HasComment("最低价格")
                .HasColumnType("decimal(10,2) unsigned")
                .HasColumnName("min_price");
            entity.Property(e => e.Model)
                .HasMaxLength(30)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("型号")
                .HasColumnName("model")
                .UseCollation("utf8_general_ci")
                .HasCharSet("utf8");
            entity.Property(e => e.OriginalPrice)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("原价（单值:10, 区间:10.00-20.00）一般用于展示使用")
                .HasColumnName("original_price");
            entity.Property(e => e.PhotoCount)
                .HasComment("相册图片数量")
                .HasColumnType("tinyint(3) unsigned")
                .HasColumnName("photo_count");
            entity.Property(e => e.PlaceOrigin)
                .HasComment("产地（地区省id）")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("place_origin");
            entity.Property(e => e.Price)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("销售价格（单值:10, 区间:10.00-20.00）一般用于展示使用")
                .HasColumnName("price");
            entity.Property(e => e.SalesCount)
                .HasComment("销量")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("sales_count");
            entity.Property(e => e.Title)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("标题")
                .HasColumnName("title")
                .UseCollation("utf8_general_ci")
                .HasCharSet("utf8");
            entity.Property(e => e.TitleColor)
                .HasMaxLength(7)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("标题颜色")
                .HasColumnName("title_color")
                .UseCollation("utf8_general_ci")
                .HasCharSet("utf8");
            entity.Property(e => e.UpdTime)
                .HasComment("更新时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("upd_time");
            entity.Property(e => e.Video)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("短视频")
                .HasColumnName("video");
        });

        modelBuilder.Entity<SGoodsBrowse>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_goods_browse", tb => tb.HasComment("用户商品浏览"));

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.GoodsId)
                .HasComment("商品id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("goods_id");
            entity.Property(e => e.UpdTime)
                .HasComment("更新时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("upd_time");
            entity.Property(e => e.UserId)
                .HasComment("用户id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("user_id");
        });

        modelBuilder.Entity<SGoodsCategory>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_goods_category", tb => tb.HasComment("商品分类"));

            entity.HasIndex(e => e.IsEnable, "is_enable");

            entity.HasIndex(e => e.Pid, "pid");

            entity.HasIndex(e => e.Sort, "sort");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.BgColor)
                .HasMaxLength(30)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("css背景色值")
                .HasColumnName("bg_color");
            entity.Property(e => e.BigImages)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("大图片")
                .HasColumnName("big_images");
            entity.Property(e => e.Describe)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("描述")
                .HasColumnName("describe");
            entity.Property(e => e.Icon)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("icon图标")
                .HasColumnName("icon");
            entity.Property(e => e.IsEnable)
                .HasDefaultValueSql("'1'")
                .HasComment("是否启用（0否，1是）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_enable");
            entity.Property(e => e.IsHomeRecommended)
                .HasComment("是否首页推荐（0否, 1是）")
                .HasColumnType("tinyint(2) unsigned")
                .HasColumnName("is_home_recommended");
            entity.Property(e => e.Name)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("名称")
                .HasColumnName("name");
            entity.Property(e => e.Pid)
                .HasComment("父id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("pid");
            entity.Property(e => e.Sort)
                .HasComment("排序")
                .HasColumnType("tinyint(3) unsigned")
                .HasColumnName("sort");
            entity.Property(e => e.Template)
                .HasDefaultValueSql("'1'")
                .HasComment("模版")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("template");
            entity.Property(e => e.UpdTime)
                .HasComment("更新时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("upd_time");
            entity.Property(e => e.ViceName)
                .HasMaxLength(80)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("副标题")
                .HasColumnName("vice_name");
        });

        modelBuilder.Entity<SGoodsCategoryJoin>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_goods_category_join", tb => tb.HasComment("商品分类关联"));

            entity.HasIndex(e => e.CategoryId, "category_id");

            entity.HasIndex(e => e.GoodsId, "goods_id");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasDefaultValueSql("'0'")
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.CategoryId)
                .HasComment("分类id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("category_id");
            entity.Property(e => e.GoodsId)
                .HasComment("商品id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("goods_id");
        });

        modelBuilder.Entity<SGoodsContentApp>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_goods_content_app", tb => tb.HasComment("商品手机详情"));

            entity.HasIndex(e => e.GoodsId, "goods_id");

            entity.HasIndex(e => e.Sort, "sort");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasDefaultValueSql("'0'")
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.Content)
                .HasComment("内容")
                .HasColumnType("text")
                .HasColumnName("content");
            entity.Property(e => e.GoodsId)
                .HasComment("商品id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("goods_id");
            entity.Property(e => e.Images)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("图片")
                .HasColumnName("images");
            entity.Property(e => e.Sort)
                .HasDefaultValueSql("'0'")
                .HasComment("顺序")
                .HasColumnType("tinyint(3) unsigned")
                .HasColumnName("sort");
        });

        modelBuilder.Entity<SGoodsFavor>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_goods_favor", tb => tb.HasComment("用户商品收藏"));

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.GoodsId)
                .HasComment("商品id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("goods_id");
            entity.Property(e => e.UserId)
                .HasComment("用户id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("user_id");
        });

        modelBuilder.Entity<SGoodsPhoto>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_goods_photo", tb => tb.HasComment("商品相册图片"));

            entity.HasIndex(e => e.GoodsId, "goods_id");

            entity.HasIndex(e => e.IsShow, "is_show");

            entity.HasIndex(e => e.Sort, "sort");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasDefaultValueSql("'0'")
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.GoodsId)
                .HasComment("商品id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("goods_id");
            entity.Property(e => e.Images)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("图片")
                .HasColumnName("images");
            entity.Property(e => e.IsShow)
                .HasDefaultValueSql("'1'")
                .HasComment("是否显示（0否, 1是）")
                .HasColumnType("tinyint(3) unsigned")
                .HasColumnName("is_show");
            entity.Property(e => e.Sort)
                .HasDefaultValueSql("'0'")
                .HasComment("顺序")
                .HasColumnType("tinyint(3) unsigned")
                .HasColumnName("sort");
        });

        modelBuilder.Entity<SGoodsSpecBase>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_goods_spec_base", tb => tb.HasComment("商品规格基础"));

            entity.HasIndex(e => e.Price, "attribute_type_id");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.Barcode)
                .HasMaxLength(80)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("条形码")
                .HasColumnName("barcode");
            entity.Property(e => e.Coding)
                .HasMaxLength(80)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("编码")
                .HasColumnName("coding");
            entity.Property(e => e.GoodsId)
                .HasComment("商品id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("goods_id");
            entity.Property(e => e.Inventory)
                .HasComment("库存")
                .HasColumnType("int(10) unsigned")
                .HasColumnName("inventory");
            entity.Property(e => e.OriginalPrice)
                .HasPrecision(10, 2)
                .HasComment("原价")
                .HasColumnName("original_price");
            entity.Property(e => e.Price)
                .HasPrecision(10, 2)
                .HasComment("销售价格")
                .HasColumnName("price");
            entity.Property(e => e.Weight)
                .HasComment("重量（kg） ")
                .HasColumnType("decimal(10,2) unsigned")
                .HasColumnName("weight");
        });

        modelBuilder.Entity<SGoodsSpecType>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_goods_spec_type", tb => tb.HasComment("商品规格类型"));

            entity.HasIndex(e => e.GoodsId, "goods_id");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.GoodsId)
                .HasComment("商品id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("goods_id");
            entity.Property(e => e.Name)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("类型名称")
                .HasColumnName("name");
            entity.Property(e => e.Value)
                .HasComment("类型值（json字符串存储）")
                .HasColumnType("text")
                .HasColumnName("value");
        });

        modelBuilder.Entity<SGoodsSpecValue>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_goods_spec_value", tb => tb.HasComment("商品规格值"));

            entity.HasIndex(e => e.GoodsId, "goods_id");

            entity.HasIndex(e => e.GoodsSpecBaseId, "goods_spec_base_id");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.GoodsId)
                .HasComment("商品id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("goods_id");
            entity.Property(e => e.GoodsSpecBaseId)
                .HasComment("商品规格基础id")
                .HasColumnType("int(10) unsigned")
                .HasColumnName("goods_spec_base_id");
            entity.Property(e => e.Value)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("规格值")
                .HasColumnName("value");
        });

        modelBuilder.Entity<SLink>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_link", tb => tb.HasComment("友情链接"));

            entity.HasIndex(e => e.IsEnable, "is_enable");

            entity.HasIndex(e => e.Sort, "sort");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.Describe)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("描述")
                .HasColumnName("describe")
                .UseCollation("utf8_general_ci")
                .HasCharSet("utf8");
            entity.Property(e => e.IsEnable)
                .HasDefaultValueSql("'1'")
                .HasComment("是否启用（0否，1是）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_enable");
            entity.Property(e => e.IsNewWindowOpen)
                .HasComment("是否新窗口打开（0否，1是）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_new_window_open");
            entity.Property(e => e.Name)
                .HasMaxLength(30)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("导航名称")
                .HasColumnName("name")
                .UseCollation("utf8_general_ci")
                .HasCharSet("utf8");
            entity.Property(e => e.Sort)
                .HasComment("排序")
                .HasColumnType("tinyint(3) unsigned")
                .HasColumnName("sort");
            entity.Property(e => e.UpdTime)
                .HasComment("更新时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("upd_time");
            entity.Property(e => e.Url)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("url地址")
                .HasColumnName("url")
                .UseCollation("utf8_general_ci")
                .HasCharSet("utf8");
        });

        modelBuilder.Entity<SMessage>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_message", tb => tb.HasComment("消息"));

            entity.HasIndex(e => e.UserId, "user_id");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.BusinessId)
                .HasComment("业务id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("business_id");
            entity.Property(e => e.BusinessType)
                .HasComment("业务类型（0默认, 1订单, ...）")
                .HasColumnType("tinyint(2) unsigned")
                .HasColumnName("business_type");
            entity.Property(e => e.Detail)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("详情")
                .HasColumnName("detail");
            entity.Property(e => e.IsDeleteTime)
                .HasComment("是否已删除（0否, 大于0删除时间）")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("is_delete_time");
            entity.Property(e => e.IsRead)
                .HasDefaultValueSql("'1'")
                .HasComment("是否已读（0否, 1是）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_read");
            entity.Property(e => e.Title)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("标题")
                .HasColumnName("title");
            entity.Property(e => e.Type)
                .HasComment("消息类型（0普通通知, ...）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("type");
            entity.Property(e => e.UserId)
                .HasComment("用户id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("user_id");
            entity.Property(e => e.UserIsDeleteTime)
                .HasComment("用户是否已删除（0否, 大于0删除时间）")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("user_is_delete_time");
        });

        modelBuilder.Entity<SNavigation>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_navigation", tb => tb.HasComment("导航"));

            entity.HasIndex(e => e.IsShow, "is_show");

            entity.HasIndex(e => e.NavType, "nav_type");

            entity.HasIndex(e => e.Pid, "pid");

            entity.HasIndex(e => e.Sort, "sort");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.DataType)
                .HasMaxLength(30)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("数据类型（custom:自定义导航, article_class:文章分类, customview:自定义页面）")
                .HasColumnName("data_type")
                .UseCollation("utf8_general_ci")
                .HasCharSet("utf8");
            entity.Property(e => e.IsNewWindowOpen)
                .HasComment("是否新窗口打开（0否，1是）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_new_window_open");
            entity.Property(e => e.IsShow)
                .HasDefaultValueSql("'1'")
                .HasComment("是否显示（0否，1是）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_show");
            entity.Property(e => e.Name)
                .HasMaxLength(30)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("导航名称")
                .HasColumnName("name")
                .UseCollation("utf8_general_ci")
                .HasCharSet("utf8");
            entity.Property(e => e.NavType)
                .HasMaxLength(30)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("导航类型（header:顶部导航, footer:底部导航）")
                .HasColumnName("nav_type")
                .UseCollation("utf8_general_ci")
                .HasCharSet("utf8");
            entity.Property(e => e.Pid)
                .HasComment("父id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("pid");
            entity.Property(e => e.Sort)
                .HasComment("排序")
                .HasColumnType("tinyint(3) unsigned")
                .HasColumnName("sort");
            entity.Property(e => e.UpdTime)
                .HasComment("更新时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("upd_time");
            entity.Property(e => e.Url)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("url地址")
                .HasColumnName("url")
                .UseCollation("utf8_general_ci")
                .HasCharSet("utf8");
            entity.Property(e => e.Value)
                .HasComment("分类id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("value");
        });

        modelBuilder.Entity<SNewer>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_newer", tb => tb.HasComment("新人限价商品表"));

            entity.Property(e => e.Id)
                .HasColumnType("int(11)")
                .HasColumnName("id");
            entity.Property(e => e.GoodsId)
                .HasComment("商品ID")
                .HasColumnType("int(11)")
                .HasColumnName("goods_id");
            entity.Property(e => e.Spec)
                .HasComment("规格")
                .HasColumnType("text")
                .HasColumnName("spec");
        });

        modelBuilder.Entity<SOrder>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_order", tb => tb.HasComment("订单"));

            entity.HasIndex(e => e.OrderNo, "order_no").IsUnique();

            entity.HasIndex(e => e.PayStatus, "pay_status");

            entity.HasIndex(e => e.ShopId, "shop_id");

            entity.HasIndex(e => e.Status, "status");

            entity.HasIndex(e => e.UserId, "user_id");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.CancelTime)
                .HasComment("取消时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("cancel_time");
            entity.Property(e => e.CloseTime)
                .HasComment("关闭时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("close_time");
            entity.Property(e => e.CollectTime)
                .HasComment("收货时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("collect_time");
            entity.Property(e => e.CommentsTime)
                .HasComment("评论时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("comments_time");
            entity.Property(e => e.ConfirmTime)
                .HasComment("确认时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("confirm_time");
            entity.Property(e => e.DeliveryTime)
                .HasComment("发货时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("delivery_time");
            entity.Property(e => e.ExpressId)
                .HasComment("快递id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("express_id");
            entity.Property(e => e.ExpressNumber)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("快递单号")
                .HasColumnName("express_number");
            entity.Property(e => e.ExtensionData)
                .HasComment("扩展展示数据")
                .HasColumnType("text")
                .HasColumnName("extension_data");
            entity.Property(e => e.IncreasePrice)
                .HasComment("增加的金额")
                .HasColumnType("decimal(10,2) unsigned")
                .HasColumnName("increase_price");
            entity.Property(e => e.IsComments)
                .HasComment("商家是否已评论（0否, 大于0评论时间）")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("is_comments");
            entity.Property(e => e.IsDeleteTime)
                .HasComment("商家是否已删除（0否, 大于0删除时间）")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("is_delete_time");
            entity.Property(e => e.IsPrint)
                .HasComment("是否打印 0-未打印 1-已打印")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_print");
            entity.Property(e => e.OrderNo)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("订单号")
                .HasColumnName("order_no");
            entity.Property(e => e.PayPrice)
                .HasComment("已支付金额")
                .HasColumnType("decimal(10,2) unsigned")
                .HasColumnName("pay_price");
            entity.Property(e => e.PayStatus)
                .HasComment("支付状态（0未支付, 1已支付, 2已退款）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("pay_status");
            entity.Property(e => e.PayTime)
                .HasComment("支付时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("pay_time");
            entity.Property(e => e.PaymentId)
                .HasComment("支付方式id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("payment_id");
            entity.Property(e => e.PreferentialPrice)
                .HasComment("优惠金额")
                .HasColumnType("decimal(10,2) unsigned")
                .HasColumnName("preferential_price");
            entity.Property(e => e.Price)
                .HasComment("订单单价")
                .HasColumnType("decimal(10,2) unsigned")
                .HasColumnName("price");
            entity.Property(e => e.ReceiveAddress)
                .HasMaxLength(200)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("收件人-详细地址")
                .HasColumnName("receive_address");
            entity.Property(e => e.ReceiveAddressId)
                .HasComment("收件地址id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("receive_address_id");
            entity.Property(e => e.ReceiveCity)
                .HasComment("收件人-市")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("receive_city");
            entity.Property(e => e.ReceiveCounty)
                .HasComment("收件人-县/区")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("receive_county");
            entity.Property(e => e.ReceiveName)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("收件人-姓名")
                .HasColumnName("receive_name");
            entity.Property(e => e.ReceiveProvince)
                .HasComment("收件人-省")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("receive_province");
            entity.Property(e => e.ReceiveTel)
                .HasMaxLength(15)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("收件人-电话")
                .HasColumnName("receive_tel");
            entity.Property(e => e.ShopId)
                .HasComment("店铺id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("shop_id");
            entity.Property(e => e.Status)
                .HasComment("订单状态（0待确认, 1已确认/待支付, 2已支付/待发货, 3已发货/待收货, 4已完成, 5已取消, 6已关闭）")
                .HasColumnType("tinyint(2) unsigned")
                .HasColumnName("status");
            entity.Property(e => e.TotalPrice)
                .HasComment("订单总价(订单最终价格)")
                .HasColumnType("decimal(10,2) unsigned")
                .HasColumnName("total_price");
            entity.Property(e => e.UpdTime)
                .HasComment("更新时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("upd_time");
            entity.Property(e => e.UserId)
                .HasComment("用户id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("user_id");
            entity.Property(e => e.UserIsComments)
                .HasComment("用户是否已评论（0否, 大于0评论时间）")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("user_is_comments");
            entity.Property(e => e.UserIsDeleteTime)
                .HasComment("用户是否已删除（0否, 大于0删除时间）")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("user_is_delete_time");
            entity.Property(e => e.UserNote)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("用户备注")
                .HasColumnName("user_note");
        });

        modelBuilder.Entity<SOrderComments>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_order_comments", tb => tb.HasComment("订单评价"));

            entity.HasIndex(e => e.GoodsId, "goods_id");

            entity.HasIndex(e => e.OrderId, "order_id");

            entity.HasIndex(e => e.ShopId, "shop_id");

            entity.HasIndex(e => e.UserId, "user_id");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.Content)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("评价内容")
                .HasColumnName("content");
            entity.Property(e => e.GoodsId)
                .HasComment("商品id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("goods_id");
            entity.Property(e => e.OrderId)
                .HasComment("订单id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("order_id");
            entity.Property(e => e.Rating)
                .HasComment("评价级别（默认0 1~5）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("rating");
            entity.Property(e => e.ShopId)
                .HasComment("店铺id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("shop_id");
            entity.Property(e => e.UserId)
                .HasComment("用户id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("user_id");
        });

        modelBuilder.Entity<SOrderDetail>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_order_detail", tb => tb.HasComment("订单详情"));

            entity.HasIndex(e => e.GoodsId, "goods_id");

            entity.HasIndex(e => e.OrderId, "order_id");

            entity.HasIndex(e => e.ShopId, "shop_id");

            entity.HasIndex(e => e.UserId, "user_id");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.BuyNumber)
                .HasComment("购买数量")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("buy_number");
            entity.Property(e => e.GoodsId)
                .HasComment("商品id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("goods_id");
            entity.Property(e => e.Images)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("封面图片")
                .HasColumnName("images");
            entity.Property(e => e.OrderId)
                .HasComment("订单id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("order_id");
            entity.Property(e => e.OriginalPrice)
                .HasComment("原价")
                .HasColumnType("decimal(10,2) unsigned")
                .HasColumnName("original_price");
            entity.Property(e => e.Price)
                .HasComment("订单价格")
                .HasColumnType("decimal(10,2) unsigned")
                .HasColumnName("price");
            entity.Property(e => e.ShopId)
                .HasComment("店铺id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("shop_id");
            entity.Property(e => e.Spec)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("规格")
                .HasColumnName("spec");
            entity.Property(e => e.SpecBarcode)
                .HasMaxLength(80)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("条形码")
                .HasColumnName("spec_barcode");
            entity.Property(e => e.SpecCoding)
                .HasMaxLength(80)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("编码")
                .HasColumnName("spec_coding");
            entity.Property(e => e.SpecWeight)
                .HasComment("重量（kg）")
                .HasColumnType("decimal(10,2) unsigned")
                .HasColumnName("spec_weight");
            entity.Property(e => e.Title)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("标题")
                .HasColumnName("title")
                .UseCollation("utf8_general_ci")
                .HasCharSet("utf8");
            entity.Property(e => e.UpdTime)
                .HasComment("更新时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("upd_time");
            entity.Property(e => e.UserId)
                .HasComment("用户id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("user_id");
        });

        modelBuilder.Entity<SOrderGoodsInventoryLog>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_order_goods_inventory_log", tb => tb.HasComment("订单商品库存变更日志"));

            entity.HasIndex(e => e.GoodsId, "goods_id");

            entity.HasIndex(e => e.OrderId, "order_id");

            entity.HasIndex(e => e.OrderStatus, "order_status");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("创建时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.GoodsId)
                .HasComment("商品id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("goods_id");
            entity.Property(e => e.IsRollback)
                .HasComment("是否回滚（0否, 1是）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_rollback");
            entity.Property(e => e.NewInventory)
                .HasComment("最新库存")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("new_inventory");
            entity.Property(e => e.OrderId)
                .HasComment("订单id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("order_id");
            entity.Property(e => e.OrderStatus)
                .HasComment("订单状态（0待确认, 1已确认/待支付, 2已支付/待发货, 3已发货/待收货, 4已完成, 5已取消, 6已关闭）")
                .HasColumnType("tinyint(2) unsigned")
                .HasColumnName("order_status");
            entity.Property(e => e.OriginalInventory)
                .HasComment("原库存")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("original_inventory");
            entity.Property(e => e.RollbackTime)
                .HasComment("回滚时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("rollback_time");
        });

        modelBuilder.Entity<SOrderStatusHistory>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_order_status_history", tb => tb.HasComment("订单状态历史纪录"));

            entity.HasIndex(e => e.NewStatus, "new_status");

            entity.HasIndex(e => e.OrderId, "order_id");

            entity.HasIndex(e => e.OriginalStatus, "original_status");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("创建时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.Creator)
                .HasComment("创建-用户id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("creator");
            entity.Property(e => e.CreatorName)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .HasComment("创建人-姓名")
                .HasColumnName("creator_name");
            entity.Property(e => e.Msg)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .HasComment("操作描述")
                .HasColumnName("msg");
            entity.Property(e => e.NewStatus)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .HasComment("最新状态")
                .HasColumnName("new_status");
            entity.Property(e => e.OrderId)
                .HasComment("订单id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("order_id");
            entity.Property(e => e.OriginalStatus)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .HasComment("原始状态")
                .HasColumnName("original_status");
        });

        modelBuilder.Entity<SPayLog>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_pay_log", tb => tb.HasComment("支付日志"));

            entity.HasIndex(e => e.OrderId, "order_id");

            entity.HasIndex(e => e.Payment, "pay_type");

            entity.Property(e => e.Id)
                .HasComment("支付日志id")
                .HasColumnType("bigint(20) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.BusinessType)
                .HasComment("业务类型（0默认, 1订单, ...）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("business_type");
            entity.Property(e => e.BuyerUser)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("支付平台用户帐号")
                .HasColumnName("buyer_user");
            entity.Property(e => e.OrderId)
                .HasComment("订单id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("order_id");
            entity.Property(e => e.PayPrice)
                .HasPrecision(10, 2)
                .HasComment("支付金额")
                .HasColumnName("pay_price");
            entity.Property(e => e.Payment)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("支付方式标记")
                .HasColumnName("payment");
            entity.Property(e => e.PaymentName)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("支付方式名称")
                .HasColumnName("payment_name");
            entity.Property(e => e.Subject)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("订单名称")
                .HasColumnName("subject");
            entity.Property(e => e.TotalPrice)
                .HasPrecision(10, 2)
                .HasComment("订单实际金额")
                .HasColumnName("total_price");
            entity.Property(e => e.TradeNo)
                .HasMaxLength(100)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("支付平台交易号")
                .HasColumnName("trade_no");
            entity.Property(e => e.UserId)
                .HasComment("用户id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("user_id");
        });

        modelBuilder.Entity<SPayment>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_payment", tb => tb.HasComment("支付方式"));

            entity.HasIndex(e => e.IsEnable, "is_enable");

            entity.HasIndex(e => e.Payment, "payment").IsUnique();

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.ApplyTerminal)
                .HasMaxLength(255)
                .IsFixedLength()
                .HasComment("适用终端 php一维数组json字符串存储（pc, wap, app, alipay, weixin, baidu）")
                .HasColumnName("apply_terminal");
            entity.Property(e => e.ApplyVersion)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("适用系统版本")
                .HasColumnName("apply_version");
            entity.Property(e => e.Author)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("作者")
                .HasColumnName("author");
            entity.Property(e => e.AuthorUrl)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("作者主页")
                .HasColumnName("author_url");
            entity.Property(e => e.Config)
                .HasComment("配置数据")
                .HasColumnType("text")
                .HasColumnName("config");
            entity.Property(e => e.Desc)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("插件描述")
                .HasColumnName("desc");
            entity.Property(e => e.Element)
                .HasComment("配置项规则")
                .HasColumnType("text")
                .HasColumnName("element");
            entity.Property(e => e.IsEnable)
                .HasDefaultValueSql("'1'")
                .HasComment("是否启用（0否，1是）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_enable");
            entity.Property(e => e.IsOpenUser)
                .HasComment("是否对用户开放")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_open_user");
            entity.Property(e => e.Logo)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("logo")
                .HasColumnName("logo");
            entity.Property(e => e.Name)
                .HasMaxLength(30)
                .IsFixedLength()
                .HasComment("名称")
                .HasColumnName("name");
            entity.Property(e => e.Payment)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("唯一标记")
                .HasColumnName("payment");
            entity.Property(e => e.Sort)
                .HasComment("顺序")
                .HasColumnType("tinyint(3) unsigned")
                .HasColumnName("sort");
            entity.Property(e => e.UpdTime)
                .HasComment("更新时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("upd_time");
            entity.Property(e => e.Version)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("插件版本")
                .HasColumnName("version");
        });

        modelBuilder.Entity<SPlugins>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_plugins", tb => tb.HasComment("应用"));

            entity.HasIndex(e => e.IsEnable, "is_enable");

            entity.HasIndex(e => e.Plugins, "plugins").IsUnique();

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.Data)
                .HasComment("应用数据")
                .HasColumnType("text")
                .HasColumnName("data");
            entity.Property(e => e.IsEnable)
                .HasDefaultValueSql("'1'")
                .HasComment("是否启用（0否，1是）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_enable");
            entity.Property(e => e.Plugins)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("唯一标记")
                .HasColumnName("plugins");
            entity.Property(e => e.UpdTime)
                .HasComment("更新时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("upd_time");
        });

        modelBuilder.Entity<SPluginsAnswersGoods>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_plugins_answers_goods", tb => tb.HasComment("问答系统商品 - 应用"));

            entity.HasIndex(e => e.GoodsId, "goods_id");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.GoodsId)
                .HasComment("商品id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("goods_id");
        });

        modelBuilder.Entity<SPluginsAnswersSlide>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_plugins_answers_slide", tb => tb.HasComment("问答系统轮播图 - 应用"));

            entity.HasIndex(e => e.IsEnable, "is_enable");

            entity.HasIndex(e => e.Sort, "sort");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.ImagesUrl)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("图片地址")
                .HasColumnName("images_url");
            entity.Property(e => e.IsEnable)
                .HasDefaultValueSql("'1'")
                .HasComment("是否启用（0否，1是）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_enable");
            entity.Property(e => e.Name)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("别名")
                .HasColumnName("name");
            entity.Property(e => e.Sort)
                .HasComment("排序")
                .HasColumnType("tinyint(3) unsigned")
                .HasColumnName("sort");
            entity.Property(e => e.UpdTime)
                .HasComment("更新时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("upd_time");
            entity.Property(e => e.Url)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("url地址")
                .HasColumnName("url");
        });

        modelBuilder.Entity<SPower>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_power", tb => tb.HasComment("权限"));

            entity.Property(e => e.Id)
                .HasComment("权限id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.Action)
                .HasMaxLength(30)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("方法名称")
                .HasColumnName("action");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.Control)
                .HasMaxLength(30)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("控制器名称")
                .HasColumnName("control");
            entity.Property(e => e.Icon)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("图标class")
                .HasColumnName("icon");
            entity.Property(e => e.IsShow)
                .HasDefaultValueSql("'1'")
                .HasComment("是否显示（0否，1是）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_show");
            entity.Property(e => e.Name)
                .HasMaxLength(30)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("权限名称")
                .HasColumnName("name");
            entity.Property(e => e.Pid)
                .HasComment("权限父级id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("pid");
            entity.Property(e => e.Sort)
                .HasComment("排序")
                .HasColumnType("tinyint(3) unsigned")
                .HasColumnName("sort");
        });

        modelBuilder.Entity<SRegion>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_region", tb => tb.HasComment("地区"));

            entity.HasIndex(e => e.IsEnable, "is_enable");

            entity.HasIndex(e => e.Pid, "pid");

            entity.HasIndex(e => e.Sort, "sort");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.IsEnable)
                .HasDefaultValueSql("'1'")
                .HasComment("是否启用（0否，1是）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_enable");
            entity.Property(e => e.Letters)
                .HasMaxLength(3)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("城市首字母")
                .HasColumnName("letters");
            entity.Property(e => e.Level)
                .HasComment("级别类型（1:一级[所有省], 2：二级[所有市], 3:三级[所有区县], 4:街道[所有街道]）")
                .HasColumnType("tinyint(4) unsigned")
                .HasColumnName("level");
            entity.Property(e => e.Name)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .HasComment("名称")
                .HasColumnName("name");
            entity.Property(e => e.Pid)
                .HasComment("父id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("pid");
            entity.Property(e => e.Sort)
                .HasComment("排序")
                .HasColumnType("tinyint(3) unsigned")
                .HasColumnName("sort");
            entity.Property(e => e.UpdTime)
                .HasComment("更新时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("upd_time");
        });

        modelBuilder.Entity<SRole>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_role", tb => tb.HasComment("角色组"));

            entity.Property(e => e.Id)
                .HasComment("角色组id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.IsEnable)
                .HasDefaultValueSql("'1'")
                .HasComment("是否启用（0否，1是）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_enable");
            entity.Property(e => e.Name)
                .HasMaxLength(30)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("角色名称")
                .HasColumnName("name");
            entity.Property(e => e.UpdTime)
                .ValueGeneratedOnAddOrUpdate()
                .HasDefaultValueSql("CURRENT_TIMESTAMP")
                .HasComment("更新时间")
                .HasColumnType("timestamp")
                .HasColumnName("upd_time");
        });

        modelBuilder.Entity<SRolePower>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_role_power", tb => tb.HasComment("角色与权限管理"));

            entity.HasIndex(e => e.PowerId, "power_id");

            entity.HasIndex(e => e.RoleId, "role_id");

            entity.Property(e => e.Id)
                .HasComment("关联id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.PowerId)
                .HasComment("权限id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("power_id");
            entity.Property(e => e.RoleId)
                .HasComment("角色id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("role_id");
        });

        modelBuilder.Entity<SScreeningPrice>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_screening_price", tb => tb.HasComment("筛选价格"));

            entity.HasIndex(e => e.IsEnable, "is_enable");

            entity.HasIndex(e => e.Pid, "pid");

            entity.Property(e => e.Id)
                .HasComment("分类id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.IsEnable)
                .HasDefaultValueSql("'1'")
                .HasComment("是否启用（0否，1是）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_enable");
            entity.Property(e => e.MaxPrice)
                .HasComment("最大价格")
                .HasColumnType("int(10) unsigned")
                .HasColumnName("max_price");
            entity.Property(e => e.MinPrice)
                .HasComment("最小价格")
                .HasColumnType("int(10) unsigned")
                .HasColumnName("min_price");
            entity.Property(e => e.Name)
                .HasMaxLength(30)
                .IsFixedLength()
                .HasComment("名称")
                .HasColumnName("name")
                .UseCollation("utf8_general_ci")
                .HasCharSet("utf8");
            entity.Property(e => e.Pid)
                .HasComment("父id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("pid");
            entity.Property(e => e.Sort)
                .HasComment("顺序")
                .HasColumnType("tinyint(3) unsigned")
                .HasColumnName("sort");
            entity.Property(e => e.UpdTime)
                .HasComment("更新时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("upd_time");
        });

        modelBuilder.Entity<SSearchHistory>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_search_history", tb => tb.HasComment("搜索日志"));

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("bigint(20) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.BrandId)
                .HasComment("品牌id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("brand_id");
            entity.Property(e => e.CategoryId)
                .HasComment("分类id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("category_id");
            entity.Property(e => e.Keywords)
                .HasMaxLength(80)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("搜索关键字")
                .HasColumnName("keywords");
            entity.Property(e => e.OrderByField)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("排序类型（字段名称）")
                .HasColumnName("order_by_field");
            entity.Property(e => e.OrderByType)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("排序方式（asc, desc）")
                .HasColumnName("order_by_type");
            entity.Property(e => e.ScreeningPrice)
                .HasMaxLength(80)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("搜索价格区间")
                .HasColumnName("screening_price");
            entity.Property(e => e.UserId)
                .HasComment("用户id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("user_id");
            entity.Property(e => e.Ymd)
                .HasComment("日期 ymd")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("ymd");
        });

        modelBuilder.Entity<SSlide>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_slide", tb => tb.HasComment("轮播图片"));

            entity.HasIndex(e => e.IsEnable, "is_enable");

            entity.HasIndex(e => e.Platform, "platform");

            entity.HasIndex(e => e.Sort, "sort");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.BgColor)
                .HasMaxLength(30)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("css背景色值")
                .HasColumnName("bg_color");
            entity.Property(e => e.EventType)
                .HasDefaultValueSql("'-1'")
                .HasComment("事件类型（0 WEB页面, 1 内部页面(小程序或APP内部地址), 2 外部小程序(同一个主体下的小程序appid), 3 打开地图, 4 拨打电话）")
                .HasColumnType("tinyint(2)")
                .HasColumnName("event_type");
            entity.Property(e => e.EventValue)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("事件值")
                .HasColumnName("event_value");
            entity.Property(e => e.ImagesUrl)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("图片地址")
                .HasColumnName("images_url");
            entity.Property(e => e.IsEnable)
                .HasDefaultValueSql("'1'")
                .HasComment("是否启用（0否，1是）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_enable");
            entity.Property(e => e.Name)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("别名")
                .HasColumnName("name");
            entity.Property(e => e.Platform)
                .HasMaxLength(30)
                .HasDefaultValueSql("'pc'")
                .IsFixedLength()
                .HasComment("所属平台（pc PC网站, h5 H5手机网站, alipay 支付宝小程序, weixin 微信小程序, baidu 百度小程序）")
                .HasColumnName("platform");
            entity.Property(e => e.Sort)
                .HasComment("排序")
                .HasColumnType("tinyint(3) unsigned")
                .HasColumnName("sort");
            entity.Property(e => e.UpdTime)
                .HasComment("更新时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("upd_time");
        });

        modelBuilder.Entity<SSpike>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_spike", tb => tb.HasComment("秒杀活动表"));

            entity.Property(e => e.Id)
                .HasColumnType("int(11)")
                .HasColumnName("id");
            entity.Property(e => e.Ctime)
                .HasComment("创建时间")
                .HasColumnType("int(11)")
                .HasColumnName("ctime");
            entity.Property(e => e.EndDate)
                .HasComment("结束时间")
                .HasColumnType("datetime")
                .HasColumnName("end_date");
            entity.Property(e => e.StartDate)
                .HasComment("开始时间")
                .HasColumnType("datetime")
                .HasColumnName("start_date");
            entity.Property(e => e.Status)
                .HasComment("状态 0-未启用 1-启用")
                .HasColumnName("status");
        });

        modelBuilder.Entity<SSpikeGoods>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_spike_goods");

            entity.Property(e => e.Id)
                .HasColumnType("int(11)")
                .HasColumnName("id");
            entity.Property(e => e.GoodsId)
                .HasComment("商品ID")
                .HasColumnType("int(11)")
                .HasColumnName("goods_id");
            entity.Property(e => e.SpikeId)
                .HasComment("秒杀ID")
                .HasColumnType("int(11)")
                .HasColumnName("spike_id");
        });

        modelBuilder.Entity<SUser>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_user", tb => tb.HasComment("用户"));

            entity.HasIndex(e => e.AlipayOpenid, "alipay_openid");

            entity.HasIndex(e => e.Mobile, "mobile");

            entity.HasIndex(e => e.Username, "username");

            entity.HasIndex(e => e.WeixinOpenid, "weixin_openid");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.Address)
                .HasMaxLength(150)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("详细地址")
                .HasColumnName("address");
            entity.Property(e => e.AlipayOpenid)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("支付宝openid")
                .HasColumnName("alipay_openid");
            entity.Property(e => e.Avatar)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("用户头像地址")
                .HasColumnName("avatar");
            entity.Property(e => e.BaiduOpenid)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("百度openid")
                .HasColumnName("baidu_openid");
            entity.Property(e => e.Birthday)
                .HasComment("生日")
                .HasColumnType("int(11)")
                .HasColumnName("birthday");
            entity.Property(e => e.City)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("所在市")
                .HasColumnName("city");
            entity.Property(e => e.Email)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("电子邮箱（最大长度60个字符）")
                .HasColumnName("email");
            entity.Property(e => e.Gender)
                .HasComment("性别（0保密，1女，2男）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("gender");
            entity.Property(e => e.Integral)
                .HasComment("积分")
                .HasColumnType("int(10) unsigned")
                .HasColumnName("integral");
            entity.Property(e => e.IsDeleteTime)
                .HasComment("是否已删除（0否, 大于0删除时间）")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("is_delete_time");
            entity.Property(e => e.Mobile)
                .HasMaxLength(11)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("手机号码")
                .HasColumnName("mobile");
            entity.Property(e => e.Nickname)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("用户昵称")
                .HasColumnName("nickname");
            entity.Property(e => e.Province)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("所在省")
                .HasColumnName("province");
            entity.Property(e => e.Pwd)
                .HasMaxLength(32)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("登录密码")
                .HasColumnName("pwd");
            entity.Property(e => e.Referrer)
                .HasComment("推荐人用户id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("referrer");
            entity.Property(e => e.ReferrerGivingIntegralCount)
                .HasComment("推荐赠送积分次数（0未赠送, 大于0则是赠送次数）")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("referrer_giving_integral_count");
            entity.Property(e => e.Salt)
                .HasMaxLength(32)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("配合密码加密串")
                .HasColumnName("salt");
            entity.Property(e => e.Status)
                .HasComment("状态（0正常, 1禁止发言, 2禁止登录, 3待审核）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("status");
            entity.Property(e => e.Token)
                .HasMaxLength(32)
                .HasDefaultValueSql("''")
                .HasComment("token")
                .HasColumnName("token");
            entity.Property(e => e.TokenExpireTime)
                .HasComment("token过期时间")
                .HasColumnType("int(11)")
                .HasColumnName("token_expire_time");
            entity.Property(e => e.UpdTime)
                .HasComment("更新时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("upd_time");
            entity.Property(e => e.Username)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("用户名")
                .HasColumnName("username");
            entity.Property(e => e.WeixinOpenid)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("微信openid")
                .HasColumnName("weixin_openid");
        });

        modelBuilder.Entity<SUserAddress>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_user_address", tb => tb.HasComment("用户地址"));

            entity.HasIndex(e => e.IsDeleteTime, "is_enable");

            entity.HasIndex(e => e.UserId, "user_id");

            entity.Property(e => e.Id)
                .HasComment("站点id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.Address)
                .HasMaxLength(80)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("详细地址")
                .HasColumnName("address");
            entity.Property(e => e.Alias)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("别名")
                .HasColumnName("alias");
            entity.Property(e => e.City)
                .HasComment("所在市")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("city");
            entity.Property(e => e.County)
                .HasComment("所在县/区")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("county");
            entity.Property(e => e.IsDefault)
                .HasDefaultValueSql("'0'")
                .HasComment("是否默认地址（0否, 1是）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("is_default");
            entity.Property(e => e.IsDeleteTime)
                .HasComment("是否删除（0否，1删除时间戳）")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("is_delete_time");
            entity.Property(e => e.Lat)
                .HasComment("纬度")
                .HasColumnType("decimal(13,10) unsigned")
                .HasColumnName("lat");
            entity.Property(e => e.Lng)
                .HasComment("经度")
                .HasColumnType("decimal(13,10) unsigned")
                .HasColumnName("lng");
            entity.Property(e => e.Name)
                .HasMaxLength(60)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("姓名")
                .HasColumnName("name");
            entity.Property(e => e.Province)
                .HasComment("所在省")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("province");
            entity.Property(e => e.Tel)
                .HasMaxLength(15)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("电话")
                .HasColumnName("tel");
            entity.Property(e => e.UpdTime)
                .HasComment("更新时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("upd_time");
            entity.Property(e => e.UserId)
                .HasComment("站点所属用户id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("user_id");
        });

        modelBuilder.Entity<SUserCoupon>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_user_coupon", tb => tb.HasComment("用户优惠券表"));

            entity.Property(e => e.Id)
                .HasColumnType("int(11)")
                .HasColumnName("id");
            entity.Property(e => e.Ctime)
                .HasComment("领取时间")
                .HasColumnType("int(10)")
                .HasColumnName("ctime");
            entity.Property(e => e.EndDate)
                .HasMaxLength(10)
                .HasComment("失效时间")
                .HasColumnName("end_date");
            entity.Property(e => e.FullMoney)
                .HasPrecision(10, 2)
                .HasComment("满多少")
                .HasColumnName("full_money");
            entity.Property(e => e.Name)
                .HasMaxLength(64)
                .HasComment("优惠券名称")
                .HasColumnName("name");
            entity.Property(e => e.Remark)
                .HasComment("备注")
                .HasColumnType("text")
                .HasColumnName("remark");
            entity.Property(e => e.Scope)
                .HasComment("适用范围")
                .HasColumnType("text")
                .HasColumnName("scope");
            entity.Property(e => e.Type)
                .IsRequired()
                .HasDefaultValueSql("'1'")
                .HasComment("券类型 1-代价 2-折扣")
                .HasColumnName("type");
            entity.Property(e => e.UserId)
                .HasComment("用户ID")
                .HasColumnType("int(11)")
                .HasColumnName("user_id");
            entity.Property(e => e.Value)
                .HasPrecision(10, 2)
                .HasComment("优惠金额")
                .HasColumnName("value");
        });

        modelBuilder.Entity<SUserIntegralLog>(entity =>
        {
            entity.HasKey(e => e.Id).HasName("PRIMARY");

            entity.ToTable("s_user_integral_log", tb => tb.HasComment("用户积分日志"));

            entity.HasIndex(e => e.UserId, "user_id");

            entity.Property(e => e.Id)
                .HasComment("自增id")
                .HasColumnType("bigint(20) unsigned")
                .HasColumnName("id");
            entity.Property(e => e.AddTime)
                .HasComment("添加时间")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("add_time");
            entity.Property(e => e.Msg)
                .HasMaxLength(255)
                .HasDefaultValueSql("''")
                .IsFixedLength()
                .HasComment("操作原因")
                .HasColumnName("msg");
            entity.Property(e => e.NewIntegral)
                .HasComment("最新积分")
                .HasColumnType("int(10) unsigned")
                .HasColumnName("new_integral");
            entity.Property(e => e.OperationId)
                .HasComment("操作人员id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("operation_id");
            entity.Property(e => e.OriginalIntegral)
                .HasComment("原始积分")
                .HasColumnType("int(10) unsigned")
                .HasColumnName("original_integral");
            entity.Property(e => e.Type)
                .HasComment("操作类型（0减少, 1增加）")
                .HasColumnType("tinyint(1) unsigned")
                .HasColumnName("type");
            entity.Property(e => e.UserId)
                .HasComment("用户id")
                .HasColumnType("int(11) unsigned")
                .HasColumnName("user_id");
        });

        OnModelCreatingPartial(modelBuilder);
    }

    partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
}
